/**
 * @file MessageExecutor.h
 * @author Karol Kulesza
 *  
 * Klasa bazowa dla klas obsługi poszczególnych wiadomości. 
 */

#ifndef MESSAGEEXECUTOR_H_
#define MESSAGEEXECUTOR_H_

namespace tftp_server
{

/**
 * @class MessageExecutor
 * Klasa bazowa dla klas obsługi poszczególnych wiadomości. 
 */
class MessageExecutor
{
public:
	/**
	 * Bezargumentowy konstruktor klasy.
	 */
	MessageExecutor();
	
	/**
	 * Destruktor klasy
	 */
	virtual ~MessageExecutor();
	
	/**
	 * Wirtualna metoda nadpisywana przez klasy dziedziczące z MessageExecutor, które zajmują się
	 * obsługą otrzymywanych pakietów.
	 */
	virtual void execute() const = 0;
};

}

#endif /* MESSAGEEXECUTOR_H_ */